Configure Service Parameters (netTcpBinding)

The netTcpBinding configuration provides faster performance than the wsHttpBinding configuration.

To configure the service parameters, complete the following steps:

  1. Click Control Panel > Administrative Tools > Services.
  2. Stop the Ideablade Persistence Server service.
  3. Navigate to the Server subfolder of the Cobra installation folder.
  4. Locate the ServerService.exe.config file and open it using a text editor (such as Notepad).
  5. Update the endpoints to use the security protocol required to enable Windows Authentication.
    1. Change the address protocol value for each endpoint from http to net.tcp.
    2. Change the binding tag from customBinding to netTcpBinding.
    3. Change the binding configuration tag from compressedBinaryBinding to WindowsClientOverTcp.
    4. Uncomment the netTcpBinding section.
    5. Change the netTcpBinding security mode from Message to Transport or from Transport to Message.
    6. Uncomment the identity tags for both endpoints.
    Before

    <service name="PersistenceService" behaviorConfiguration="Behavior1">

    <endpoint address="http://<COBRA SERVER NAME>:9009/PersistenceService" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceService">

    <!--<identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>-->

    </endpoint>

    </service>

    <service name="IdeaBlade.Persistence.Wcf.WcfPersistenceServer" behaviorConfiguration="Behavior1">

    <endpoint address="http://<COBRA SERVER NAME>:9009/PersistenceServer" binding="customBinding" bindingConfiguration="compressedBinaryBinding" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceServer">

    <!--<identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>-->

    </endpoint>

    </service>

    <!--<netTcpBinding>

    <binding name="WindowsClientOverTcp"

    closeTimeout="10:01:00"

    openTimeout="10:01:00"

    receiveTimeout="10:10:00"

    sendTimeout="10:01:00"

    transactionFlow="false"

    transferMode="Buffered"

    transactionProtocol="OleTransactions"

    hostNameComparisonMode="StrongWildcard"

    listenBacklog="10"

    maxBufferPoolSize="2147483647"

    maxBufferSize="2147483647"

    maxConnections="10"

    maxReceivedMessageSize="2147483647">

    <readerQuotas maxDepth="32"

    maxStringContentLength="2147483647"

    maxArrayLength="2147483647"

    maxBytesPerRead="2147483647"

    maxNameTableCharCount="2147483647" />

    <reliableSession ordered="true"

    inactivityTimeout="10:10:00"

    enabled="false" />

    <security mode="Message">

    <transport clientCredentialType="Windows" />

    </security>

    </binding>

    </netTcpBinding>-->

    After

    <service name="PersistenceService" behaviorConfiguration="Behavior1">

    <endpoint address="net.tcp://<COBRA SERVER NAME>:9009/PersistenceService" binding="netTcpBinding" bindingConfiguration=WindowsClientOverTcp" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceService">

     <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>

    </endpoint>

    </service>

    <service name="IdeaBlade.Persistence.Wcf.WcfPersistenceServer" behaviorConfiguration="Behavior1">

    <endpoint address="net.tcp://<COBRA SERVER NAME>:9009/PersistenceServer" binding="netTcpBinding" bindingConfiguration="WindowsClientOverTcp" contract="IdeaBlade.Persistence.Wcf.IWcfPersistenceServer">

    <identity><servicePrincipalName value="Local Network"></servicePrincipalName></identity>

    </endpoint>

    </service>

    <netTcpBinding>

    <binding name="WindowsClientOverTcp"

    closeTimeout="10:01:00"

    openTimeout="10:01:00"

    receiveTimeout="10:10:00"

    sendTimeout="10:01:00"

    transactionFlow="false"

    transferMode="Buffered"

    transactionProtocol="OleTransactions"

    hostNameComparisonMode="StrongWildcard"

    listenBacklog="10"

    maxBufferPoolSize="2147483647"

    maxBufferSize="2147483647"

    maxConnections="10"

    maxReceivedMessageSize="2147483647">

    <readerQuotas maxDepth="32"

    maxStringContentLength="2147483647"

    maxArrayLength="2147483647"

    maxBytesPerRead="2147483647"

    maxNameTableCharCount="2147483647" />

    <reliableSession ordered="true"

    inactivityTimeout="10:10:00"

    enabled="false" />

    <security mode="

    <transport clientCredentialType="Windows" />

    </security>

    </binding>

    </netTcpBinding>

  6. Configure application settings to enable Windows Authentication.
    1. Change the PerformDomainAuthentication setting value from false to true.
    2. Add a list of domain groups to the Role setting to only allow members of those groups to access Cobra.
    Before

    <appSettings>

          <add key="ConcurrentProcesses" value="8" />

          <add key="PerformDomainAuthentication" value="

          <add key="Roles" value="" />

    </appSettings>

    After

    <appSettings>

          <add key="ConcurrentProcesses" value="8" />

          <add key="PerformDomainAuthentication" value="

          <add key="Roles" value="BUILTIN\Administrators" />

    </appSettings>

  7. Start the Ideablade Persistence Server service.